home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-11 / cliplite.zip / CLIPLITE.DOC < prev    next >
Text File  |  1993-01-04  |  4KB  |  77 lines

  1.  
  2.                               CLIPPER  LITE
  3.                               DOCUMENTATION
  4.  
  5.              (Clipper is a trademark of Nantucket Corporation)
  6.  
  7.  
  8. WHAT IS IT?
  9.  
  10. CLIPPER LITE is a group of .OBJ files intended to help reduce the size of .EXE
  11. files, in Clipper programs which do not use all of the features/commands of
  12. Clipper in a single program.  It is based on work done by Jerry Gilmore.  I am
  13. deeply grateful to him- many people have tried to put the bite on me, but he
  14. is the first one ever to take the byte away.
  15.  
  16. These files are offered for educational & experimental purposes only.  They
  17. work for me, but may not be reliable in your programs.  You will have to test
  18. the usefulness of these files yourself.  No warranty is made of fitness.
  19.  
  20.  
  21. HOW DOES IT WORK?
  22.  
  23. These object files are linked into your program (at link time), and replace
  24. chunks of related routines in CLIPPER.LIB with dummy routines, thus reducing
  25. the size of your .EXE file.  Each .OBJ file is named for what it replaces:
  26. e.g. NOMACRO replaces macro handling routines.  If you link in an .OBJ file
  27. which replaces something you need in a particular program, your program will
  28. either work strangely or crash, so test every part of your program.
  29.  
  30. Example (Using Tlink 1.0)
  31.       TLINK Myprog nomacro nonet nomemo,,,clipper.lib
  32.  
  33. If you link in all of these .OBJ files, you will save about 75K to 80K bytes.
  34. You may at first think that a Clipper Program couldn't be very useful without
  35. database and index capabilities, for instance, but after some thought, you
  36. may see uses for it.  An installation program, for instance, may use menus,
  37. GETs, file copying, etc. but not need to do any actual DBF handling.  This
  38. method may make the installation program small enough to fit on a disk with
  39. your application, saving a second (or third) distribution disk.  I have
  40. written a complete Un-arcing shell in Clipper that handles ZIP, ARC, PAK,
  41. ZOO, and LZH (Lharc) files.  Linking in most of these .OBJ files allowed me
  42. to reduce the .EXE from 175K to 96K... adding 79K of usable RAM space!
  43.  
  44.  
  45. More info is in the Denver Clipper Users Group Newsletter of June 1989, and
  46. in the file SHRINKCL.ARC by Jerry Gilmore.
  47.  
  48.  
  49. Filename         Savings           Purpose
  50. -------------------------------------------------------------------------------
  51. NODBF             24K          Database file handling, locate, etc.
  52. NOINDEX           13K          Index file handling, seek, index on, etc.
  53. NOMATH            13K          Floating point math, ASC(), related routines
  54. NOMACRO           11K          Macro expansion, conversion, related routines
  55. NONET             240 bytes    Network functions
  56. NOMEMO             1K          Memo & DBT functions
  57. NOREEF             5K          Somebody please tell me what this does!
  58. NOSORT             5K          Database sorting, probably ASORT()
  59.  
  60.  
  61. These files do not comprise the ultimate reduction in EXE possible.  There are
  62. more things waiting to be discovered in the library that are not used with some
  63. commands.  For instance, you can modify ERRORSYS.PRG to contain only one-line
  64. dummy routines that return .T. or .F. without any messages or error handling.
  65. Sort of a user-hostile interface, but in a utility program that you only use
  66. yourself, you could get by with it.
  67.  
  68. I am interested in hearing from anybody who has done any related work on
  69. Clipper internals.  If you have anything to add to this, let me know!  I also
  70. would like to know if anybody knows how to invoke the Clipper internals to
  71. allow me to stop the program at a line or single-step it without using Debug.
  72.  
  73.                              Malcolm  MacLeod
  74.                                303-693-7925
  75.  
  76.  
  77.